home *** CD-ROM | disk | FTP | other *** search
/ .net 2002 March / DotNetMagazine-Issue107-Coverdisc-NET107-02-03-PCMac.bin / pc / PC Software / free_browsing / DavesQckSearchDbar3-14 / dqsd.exe / searches / curr.xml < prev    next >
Text File  |  2002-08-30  |  3KB  |  99 lines

  1. <search function="curr">
  2.   <name>Currency Conversion</name>
  3.   <description>
  4.     Convert from one currency to another using the Universal Currency Converter.<br/>
  5.     <div class="helpboxDescLabels">Usage:</div>
  6.   <table class="helpboxDescTable">
  7.   <tr><td>curr /from:<<i>curr1</i>> /to:<<i>curr2</i>> <<i>amount</i>></td></tr>
  8.    </table>
  9.     <div class="helpboxDescLabels">Example:</div>
  10.     <table class="helpboxDescTable">
  11.   <tr><td>curr /from:usd /to:gbp 100</td></tr>
  12.   </table>
  13.   </description>
  14.   <category>Reference</category>
  15.   <link>http://www.xe.com/ucc/</link>
  16.   <contributor>Monty Scroggins, Neel Doshi</contributor>
  17.   
  18.   <form name="currf"
  19.     action="http://www.xe.com/ucc/convert.cgi"
  20.     method="post">
  21.     <input type="hidden" name="Amount" value="" />
  22.     <input type="hidden" name="From" value="" />
  23.     <input type="hidden" name="To" value="" />
  24.   </form>
  25.   
  26.   <script><![CDATA[
  27.   currency_regex = /^\s*(\.(\d+)|(\d+(\.\d*)?))(\s*)([A-Za-z]{3})\s*([<>]|to)\s*([A-Za-z]{3})\s*$/i; 
  28.   
  29.   // the auto-detection routine used for special handling of strings entered into the
  30.   // toolbar that look like currency conversions.
  31.   function autodetect_currency(q)
  32.   {
  33.     // detect strings that look like ABC<CBA or ABC>CBA upper or lower case
  34.     var res = q.match(currency_regex);
  35.     if (res) 
  36.     {
  37.       curr2(q);
  38.       return true;
  39.     }
  40.   }
  41.   
  42.   function curr2(q)
  43.   {
  44.     if( nullArgs("curr", q) )
  45.       return false;
  46.  
  47.     // detect strings that look like ABC<CBA or ABC>CBA upper or lower case
  48.     var res = q.match(currency_regex);
  49.     if (res) 
  50.     {
  51.       if (res[7] == '<') 
  52.       {
  53.         document.currf.From.value=res[8].toUpperCase();
  54.         document.currf.To.value=res[6].toUpperCase();
  55.       }
  56.       else
  57.       {
  58.         document.currf.From.value=res[6].toUpperCase();
  59.         document.currf.To.value=res[8].toUpperCase();
  60.       }
  61.       document.currf.Amount.value=res[1];
  62.       submitForm(currf);
  63.     }
  64.   }
  65.   
  66.   function curr(q)
  67.   {
  68.     if ( nullArgs("curr", q) )
  69.       return false;
  70.   
  71.     var func_name = "curr";
  72.     var switch_list = new Array("from", "to");
  73.     var args = parseArgs(q, switch_list);
  74.   
  75.     // check if the required switches are set
  76.     for (var j = 0; j < switch_list.length; j++)
  77.     {
  78.       if (typeof args.switch_val[switch_list[j]] == "undefined" || args.switch_val[switch_list[j]] == "")
  79.       {
  80.         alert(func_name + ":  /" + switch_list[j] + " switch must be entered.  Type '" + func_name + " ?' to see instructions");
  81.         return false;
  82.       }
  83.     }
  84.   
  85.     currf.Amount.value = args.q;
  86.     currf.From.value = args.switch_val["from"].toUpperCase();
  87.     currf.To.value = args.switch_val["to"].toUpperCase();
  88.     submitForm(currf);
  89.     return true;
  90.   }
  91.   ]]></script>
  92.  
  93.   <copyright>
  94.     Copyright (c) 2002 David Bau
  95.     Distributed under the terms of the
  96.     GNU Public License, Version 2 (http://www.gnu.org/copyleft/gpl.txt)
  97.   </copyright>
  98. </search>
  99.